﻿using Medical.Domain.BasicManagement;
using Medical.Domain.DepartmentInfo;
using Medical.Domain.PackagingSterilization;
using Medical.Domain.RBAC;
using Medical.Domain.RecoveryCleaning;
using Medical.Domain.Wms;
using Microsoft.EntityFrameworkCore;

namespace Medical.Interstructrue
{
    public class MedicalDbContext : DbContext
    {
        public MedicalDbContext(DbContextOptions options) : base(options)
        {
        }

        protected MedicalDbContext()
        {
        }

        //RBAC
        public DbSet<UserModel> Users { get; set; }
        public DbSet<RoleModel> Roles { get; set; }
        public DbSet<PermissionModel> Permissions { get; set; }
        public DbSet<UserRoleModel> UserRoles { get; set; }
        public DbSet<RolePermissionModel> RolePermissions { get; set; }

        //BasicManagement 
        public DbSet<Apparatus> Apparatuses { get; set; }
        public DbSet<ApparatusType> ApparatusTypes { get; set; }
        public DbSet<Equipment> Equipments { get; set; }
        public DbSet<EquipmentPackage> EquipmentPackages { get; set; }
        public DbSet<Shelves> Shelves { get; set; }

        // DepartmentInfo
        public DbSet<ItemTable> itemTables { get; set; }
        public DbSet<RecyclingTable> RecyclingTables { get; set; }
        public DbSet<SignTable> ShelfTables { get; set; }
        public DbSet<TouseTable> StorageTables { get; set; }
        public DbSet<UseTable> UseTables { get; set; }

        //PackagingSterilization
        public DbSet<PackagingRegistration> PackagingSterilizations { get; set; }
        public DbSet<SterilizationRegistration> SterilizationRegistrations { get; set; }

        //RecoveryCleaning
        public DbSet<CleaningRegistration> CleaningRegistrations { get; set; }
        public DbSet<DisinfectionRegistration> DisinfectionRegistrations { get; set; }
        public DbSet<InstrumentRecovery> InstrumentRecoveries { get; set; }

        //Wms
        public DbSet<WmsLssue> WmsLssues { get; set; }
        public DbSet<WmsLssueDetail> WmsLssueDetails { get; set; }
        public DbSet<WmsOut> WmsOuts { get; set; }

        public DbSet<WmsOutDetail> WmsOutDetails { get; set; }
        public DbSet<WmsStorage> WmsStorages { get; set; }
        public DbSet<WmsStorageDetail> WmsStorageDetails { get; set; }
        public DbSet<WmsStores> WmsStores { get; set; }

    }
}
